package bit_pratice.day11;
import java.util.*;
/**
 * 链接：https://www.nowcoder.com/questionTerminal/4b1658fd8ffb4217bc3b7e85a38cfaf2
 * 求一个int类型数字对应的二进制数字中1的最大连续数，例如3的二进制为00000011，最大连续2个1
 * 数据范围：数据组数：1\le t\le 5\1≤t≤5 ，1\le n\le 500000\1≤n≤500000
 **/
//输入一个int类型的数字
//输出转成二进制之后连续1的个数
public class 最大连续bit数 {
    public static void main(String[] args){
        Scanner scanner=new Scanner(System.in);
        int num=scanner.nextInt();
        //运用到位运算:与1与  1011&0001=0001，与1相与是1说明最后一位一定是1，然后将num右移（÷2）继续判断
        int count=0;//记录次数
        int maxCount=0;//记录最大次数
        while (num!=0){
            if((num&1)==1){
                count++;
                maxCount=count>maxCount?count:maxCount;
//                maxCount=Math.max(count,maxCount);//也可以这么写
            }else{
                count=0;
            }
            num>>=1;//右移一位
        }
        System.out.println(maxCount);
    }
}
